package org.example.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller//告诉Spring这是一个控制器（处理请求的组件）
public class HelloController {

    /*
    * 路径位置通配符：
    *           *：匹配任意多个字符(不能匹配多个路径)
    *           **：匹配任意多层路径
    *           ？：匹配任意单个字符
    * ps.精确优先,且精确路径全局唯一   精确程度：完全匹配>?> *> **
    */
    @ResponseBody//告诉Spring这个方法返回值应该直接写入HTTP响应正文中：每次请求进来执行目标方法
    @RequestMapping("/hello") //映射请求路径
    public String hello(){
        System.out.println("【请求】hello");
        return "hello spring mvc!你好呀！";//默认返回值是跳到一个页面
    }

    @ResponseBody
    @RequestMapping("/hell?") //映射请求路径
    public String hello01(){
        System.out.println("【请求】hello01");
        return "hello01";//默认返回值是跳到一个页面
    }

    @ResponseBody
    @RequestMapping("/hell*") //映射请求路径
    public String hello02(){
        System.out.println("【请求】hello02");
        return "hello02";//默认返回值是跳到一个页面
    }

    @ResponseBody
    @RequestMapping("/hello/**") //映射请求路径
    public String hello03(){
        System.out.println("【请求】hello03");
        return "hello03";//默认返回值是跳到一个页面
    }
}
